Re: 8lgm's SCO "at" hole

John Nemeth (jnemeth@cue.bc.ca)
Sun, 11 Dec 1994 19:47:45 -0800

On Dec 11,  9:53pm, der Mouse wrote:
} Subject: Re: 8lgm's SCO "at" hole
} 
} >> select(getdtablesize(), &readfds, &writefds, &exceptfds, &timeout);
} > getdtablesize() doesn't exist on all systems and can return very very
} > large numbers on systems that have dynamically allocated file tables.
} 
} That was (part of) my reaction too...but that's not the real point.
} Think about what the first note was talking about: MAXPATHLEN
} increasing, so in the future getwd() might construct and (try to)
} return a string longer than the statically allocated buffer whose size
} was fixed when the application was compiled: essentially, a clash
} between compiling now and executing in the future after system changes.
} 
} Now go back and look at that select() call again, with that in mind :-)

     I just read the manpage for select() and I can't see where
getwd() or MAXPATHLEN enters into it; although, there is the
possibility that getdtablesize() returns different values in
different versions of the OS. (especially if the OS switches
from a non-dynamically allocated to a dynamically allocated file
table.  This latter trick has nailed a few programs that were
being ported to NetBSD.

}-- End of excerpt from der Mouse